#include #include #define NODE_3 3 #define LED_PIN D0 // 🔴 REPLACE with your Node 1 MAC uint8_t macNode1[] = {0x58, 0xE6, 0xC5, 0x19, 0xAD, 0xC8}; typedef struct { int targetID; int command; } Message; void OnDataRecv(const esp_now_recv_info_t *info, const uint8_t *incomingData, int len) { Serial.println("Packet received"); Message msg; memcpy(&msg, incomingData, sizeof(msg)); if (msg.targetID != NODE_3) return; Serial.println("Node 3 → blinking LED"); digitalWrite(LED_PIN, HIGH); delay(300); digitalWrite(LED_PIN, LOW); } void setup() { Serial.begin(115200); pinMode(LED_PIN, OUTPUT); WiFi.mode(WIFI_STA); WiFi.disconnect(); esp_now_init(); // Add Master as peer esp_now_peer_info_t peer = {}; memcpy(peer.peer_addr, macNode1, 6); peer.channel = 0; peer.encrypt = false; esp_now_add_peer(&peer); esp_now_register_recv_cb(OnDataRecv); Serial.println("Node 3 ready"); } void loop() {}